package com.zyf.service;

import com.zyf.model.hosp.Department;
import com.zyf.vo.hosp.DepartmentQueryVo;
import com.zyf.vo.hosp.DepartmentVo;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

/**
 * 医院科室的Service接口
 *
 * @author zyf
 * @date 2021年05月07日 18:16
 */
public interface DepartmentService {

    /**
     * 上传医院科室信息Api
     *
     * @param paramMap
     * @author zyf
     * @date 2021/5/7 18:26
     */
    void saveDepartment(Map<String, Object> paramMap);

    /**
     * 分页查询医院科室API
     *
     * @param page    当前页码
     * @param limit   页面展示的条数
     * @param queryVo 条件查询的VO对象
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.zyf.model.hosp.Department>
     * @author zyf
     * @date 2021/5/8 9:53
     */
    Page<Department> findDepartmentByPage(int page, int limit, DepartmentQueryVo queryVo);

    /**
     * 根据医院编号和科室编号删除医院科室API
     *
     * @param hoscode 医院编号
     * @param depcode 科室编号
     * @author zyf
     * @date 2021/5/8 10:59
     */
    void removeDepartment(String hoscode, String depcode);

    /**
     * 查询医院所有科室列表
     * @author zyf
     * @date 2021/5/13 17:00
     * @param hoscode 医院编号
     * @return java.util.List<com.zyf.vo.hosp.DepartmentVo>
     */
    List<DepartmentVo> findDeptTree(String hoscode);

    /**
     * 根据医院编号和科室编号得到科室名称
     * @author zyf
     * @date 2021/5/14 15:02
     * @param hoscode 医院编号
     * @param depcode 科室编号
     * @return java.lang.String
     */
    String getDeptName(String hoscode, String depcode);

    /**
     * 根据医院编号和科室编号得到科室
     * @author zyf
     * @date 2021/5/29 15:17
     * @param hoscode 医院编号
     * @param depcode 科室编号
     * @return com.zyf.model.hosp.Department
     */
    Department getDepartment(String hoscode, String depcode);
}
